﻿namespace KinonekoSoftware.JuXiaoYouDB.Objects
{
    /// <summary>
    /// <see cref="Glossary"/> 类型用于表示：设定、术语、机制等等。
    /// </summary>
    public sealed class Glossary : IntroObject
    {
        private string _gravatar;
        private bool   _isLocked;

        /// <summary>
        /// 是否已经删除。
        /// </summary>
        public bool IsDeleted { get; set; }

        /// <summary>
        /// 表示设定分类。
        /// </summary>
        public string TypeName { get; set; }

        /// <summary>
        /// <see cref="StyleID"/> 表示具体的世界观设定。
        /// </summary>
        public string StyleID { get; set; }

        /// <summary>
        /// <see cref="InstanceID"/> 表示通用设定。
        /// </summary>
        public string InstanceID { get; set; }

        /// <summary>
        /// <see cref="UniversalID"/> 表示具体的世界观设定。
        /// </summary>
        public string UniversalID { get; set; }

        /// <summary>
        /// <see cref="WikiID"/> 表示具体的世界观设定。
        /// </summary>
        public string WikiID { get; set; }
        
        /// <summary>
        /// 获取或设置 <see cref="IsLocked"/> 属性。
        /// </summary>
        public bool IsLocked
        {
            get => _isLocked;
            set => SetValue(ref _isLocked, value);
        }

        /// <summary>
        /// <see cref="Gravatar"/> 表示头像属性。
        /// </summary>
        public string Gravatar
        {
            get => _gravatar;
            set => SetValue(ref _gravatar, value);
        }
    }
}